-- Network Working Group J. Case
-- Request for Comments: 1442 SNMP Research, Inc.
-- K. McCloghrie
-- Hughes LAN Systems
-- M. Rose
-- Dover Beach Consulting, Inc.
-- S. Waldbusser
-- Carnegie Mellon University
-- April 1993-- Structure of Management Information
-- for version 2 of the
-- Simple Network Management Protocol (SNMPv2)SNMPv2-SMI DEFINITIONS::=BEGIN-- the path to the root--PSIM internet OBJECT IDENTIFIER ::= { iso 3 6 1 }internet OBJECTIDENTIFIER::={ iso org(3) dod(6)1}directory OBJECTIDENTIFIER::={ internet 1}mgmt OBJECTIDENTIFIER::={ internet 2}experimental OBJECTIDENTIFIER::={ internet 3}private OBJECTIDENTIFIER::={ internet 4}
enterprises OBJECTIDENTIFIER::={ private 1}security OBJECTIDENTIFIER::={ internet 5}snmpV2 OBJECTIDENTIFIER::={ internet 6}-- transport domainssnmpDomains OBJECTIDENTIFIER::={ snmpV2 1}-- transport proxiessnmpProxys OBJECTIDENTIFIER::={ snmpV2 2}-- module identitiessnmpModules OBJECTIDENTIFIER::={ snmpV2 3}-- definitions for information modulesMODULE-IDENTITYMACRO::=BEGINTYPENOTATION::="LAST-UPDATED" value(Update UTCTime)"ORGANIZATION" Text
"CONTACT-INFO" Text
"DESCRIPTION" Text
RevisionPart
VALUENOTATION::=
value(VALUEOBJECTIDENTIFIER)
RevisionPart ::=
Revisions
| empty
Revisions ::=
Revision
| Revisions Revision
Revision ::="REVISION" value(Update UTCTime)"DESCRIPTION" Text
-- uses the NVT ASCII character set
Text ::="""" string """"ENDOBJECT-IDENTITYMACRO::=BEGINTYPENOTATION::="STATUS" Status
"DESCRIPTION" Text
ReferPart
VALUENOTATION::=
value(VALUEOBJECTIDENTIFIER)
Status ::="current"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
Text ::="""" string """"
END-- names of objects
ObjectName ::=OBJECTIDENTIFIER-- syntax of objects
ObjectSyntax ::=CHOICE{
simple
SimpleSyntax,-- note that SEQUENCEs for conceptual tables and-- rows are not mentioned here...
application-wide
ApplicationSyntax
}-- built-in ASN.1 types
SimpleSyntax ::=CHOICE{-- INTEGERs with a more restrictive range-- may also be used
integer-value
INTEGER(-2147483648..2147483647),
string-value
OCTETSTRING,
objectID-value
OBJECTIDENTIFIER,-- only the enumerated form is allowed
bit-value
BITSTRING}-- indistinguishable from INTEGER, but never needs more than-- 32-bits for a two's complement representationInteger32::=
[UNIVERSAL2]
IMPLICITINTEGER(-2147483648..2147483647)
-- application-wide types
ApplicationSyntax ::=CHOICE{
ipAddress-value
IpAddress,
counter-value
Counter32,
gauge-value
Gauge32,
timeticks-value
TimeTicks,
arbitrary-value
Opaque,
nsapAddress-value
NsapAddress,
big-counter-value
Counter64,
unsigned-integer-value
UInteger32}-- in network-byte order-- (this is a tagged type for historical reasons)IpAddress::=
[APPLICATION0]
IMPLICITOCTETSTRING(SIZE(4))-- this wrapsCounter32::=
[APPLICATION1]
IMPLICITINTEGER(0..4294967295)
-- this doesn't wrapGauge32::=
[APPLICATION2]
IMPLICITINTEGER(0..4294967295)-- hundredths of seconds since an epochTimeTicks::=
[APPLICATION3]
IMPLICITINTEGER(0..4294967295)-- for backward-compatibility onlyOpaque::=
[APPLICATION4]
IMPLICITOCTETSTRING-- for OSI NSAP addresses-- (this is a tagged type for historical reasons)NsapAddress::=
[APPLICATION5]
IMPLICITOCTETSTRING(SIZE(1 | 4..21))-- for counters that wrap in less than one hour with only 32 bitsCounter64::=
[APPLICATION6]
IMPLICITINTEGER(0..18446744073709551615)
-- an unsigned 32-bit quantityUInteger32::=
[APPLICATION7]
IMPLICITINTEGER(0..4294967295)-- definition for objectsOBJECT-TYPEMACRO::=BEGINTYPENOTATION::="SYNTAX" type(Syntax)
UnitsPart
"MAX-ACCESS" Access
"STATUS" Status
"DESCRIPTION" Text
ReferPart
IndexPart
DefValPart
VALUENOTATION::=
value(VALUE ObjectName)
UnitsPart ::="UNITS" Text
| empty
Access ::="not-accessible"
| "read-only"
| "read-write"
| "read-create"
Status ::="current"
| "deprecated"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
IndexPart ::="INDEX""{" IndexTypes "}"
| "AUGMENTS""{" Entry "}"
| empty
IndexTypes ::=
IndexType
| IndexTypes "," IndexType
IndexType ::="IMPLIED" Index
| Index
Index ::=-- use the SYNTAX value of the-- correspondent OBJECT-TYPE invocation
value(Indexobject ObjectName)
Entry ::=-- use the INDEX value of the-- correspondent OBJECT-TYPE invocation
value(Entryobject ObjectName)
DefValPart ::="DEFVAL""{" value(Defval Syntax)"}"
| empty
-- uses the NVT ASCII character set
Text ::="""" string """"END-- definitions for notificationsNOTIFICATION-TYPEMACRO::=
BEGINTYPENOTATION::=
ObjectsPart
"STATUS" Status
"DESCRIPTION" Text
ReferPart
VALUENOTATION::=
value(VALUEOBJECTIDENTIFIER)
ObjectsPart ::="OBJECTS""{" Objects "}"
| empty
Objects ::=
Object
| Objects "," Object
Object ::=
value(Name ObjectName)
Status ::="current"
| "deprecated"
| "obsolete"
ReferPart ::="REFERENCE" Text
| empty
-- uses the NVT ASCII character set
Text ::="""" string """"ENDEND